package cn.edu.xmist.springmvcdemo.controller;

import cn.edu.xmist.springmvcdemo.service.HelloService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author zhongjinbin 2021/3/26
 * @since 0.0.1
 */
@RestController//标识这是一个控制器
@RequestMapping("/hello")//提供对外的接口地址，通常与控制器前缀一致
public class HelloController {

    //依赖，使用@Autowired，Spring会自动注入该依赖的对象HelloServiceImpl
    @Autowired
    HelloService helloService;

    /**
     * 这是一个方法
     * @param name 调用这个方法的时候，需要有一个参数name
     * @return 说明返回的内容是什么
     */
    @RequestMapping("/say")//方法对外的接口地址，如果类也有该注解，则拼接二个地址
    //比如这里的地址就是：/hello/say
    public String say(String name){
        //根据业务要求，如果`name`是空或者`null`，返回`您输入有误`
        if (name == null || name.isEmpty()){
            return "您输入有误";
        }

        return helloService.say(name);
    }
}
